<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>人员信息</title>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css"></link>
<link rel="stylesheet" type="text/css" href="../ext/resources/css/xtheme-slate.css"></link>
<script src="../ext/adapter/ext/ext-base.js"></script>
<script src="../ext/ext-all.js"></script>
<script src="../ext/src/locale/ext-lang-zh_CN.js"></script>	
<script src="../ext/base/PagingMemoryProxy.js"></script>
<script type="text/javascript">
			Ext.onReady(function(){
				Ext.Ajax.on('requestcomplete',checkUserSessionStatus, this);      
				function checkUserSessionStatus(conn,response,options){      
				    if(response.getResponseHeader('sessionstatus')){      
				    	parent.location.href='/xdj/index.jsp';   
				    }      
				}  
				var treeloader = new Ext.tree.TreeLoader({   // dataUrl : 'tree.jsp'//这里可以不需要指定URL，在加载前事件响应里面设置 	
				});  
				var rootnode = new Ext.tree.AsyncTreeNode({  // 异步加载根节点 
					id : '2',  
					text : '大坝电厂',  
					cls : 'folder' 
				});  
				var thenode=rootnode;
				var tree=new Ext.tree.TreePanel({
					el : 'tree',// 将树形添加到一个指定的div中,非常重要！  
					border:false,
					region : 'west',  
					//title : '功能菜单',  
					lines:false, //线段
					width : 300, 
					height:900,
					split : true, 
					//autoHeight : true,  
					frame : true,// 美化界面    
					enableDD : false,// 是否支持拖拽效果  
					containerScroll : true,// 是否支持滚动条  
					rootVisible : true, // 是否隐藏根节点,很多情况下，我们选择隐藏根节点增加美观性  
					animate : true, // 动画效果  
					root : rootnode,
					loader : treeloader ,
					listeners : {
						'beforeload' : function(node) {
							treeloader.dataUrl = "../base/depart_load?parentID=parentID_" +node.id+"_EQ";
						},
						'click' : function(node) {
							thenode = node ;
							store.load({
								params:{
									departmentID:node.id
								}
							});
						}
					}
					
				// 树加载  
				});  
				tree.render();  // 渲染树形 
				var cm=new Ext.grid.ColumnModel([
				    new Ext.grid.RowNumberer(),  //自动增加序列号
				    //sm, //加到每列的前边
				    {header:'人员工号',dataIndex:"operatorCode",sortable:true}, //True表示为可在该列上进行排列
				    {header:'员工姓名',dataIndex:"userName"},
				    {header:'值次',dataIndex:"dutyName"},
				    {header:'userID',dataIndex:"userID",hidden:true},
				    {header:'dutyID',dataIndex:"dutyID",hidden:true}
				]);//定义相应的列模型
				var store=new Ext.data.JsonStore({
				 	url: 'dutyuser_getDutyUsers',
				 	autoLoad : true,
				 	// root: 'result',
				 	// idProperty:'id',
					//totalProperty:'result',
				    fields: ["operatorCode", "userName","dutyName","userID","dutyID"]
				});//存储前两项的定义的东西，将其连接起来
				store.load({
					params:{
						departmentID:thenode.id
					}
				});
				                         	
				var panel = new Ext.grid.GridPanel({
					region:'center',
					border:false,
				    cm:cm,
				    //sm:sm,
				    store:store,
				    height:document.body.clientHeight,  //设置表格的高度 true为自动获取表格的大小
				   // renderTo:'grid' , //渲染容器
				    enableColumnMove:false,//不可以使表格列移动
				    enableColumnResize:false, //不可以改变列的宽度
				    stripeRows:false, //True表示为显示行的分隔符
				    loadMask:true,  //会有一个Ext.LoadMask的遮罩效果
				    trackMouseOver : true,  //True表示为鼠标移动时高亮显示（默认为true）。
				    enableDragDrop : true,
				    viewConfig:{
				      forceFit:true //让没列自动填满表格，根据你设置的宽度按比例分配
				    },
				    tbar:[{
				    	text: "删除",disabled:true,id:'cDeleteBox',
				    	icon:'../image/public/user_delete.png',
				    	handler:function() {
				    		Ext.MessageBox.confirm("提示","您确定要删除这些信息吗?", function(button,text){   
				    			if(button=='yes'){
				    				var record=panel.getSelectionModel().getSelected();
				    				if(record==null){
				    					alert("请选择删除人员信息");
				    				}else{
				    					Ext.Ajax.request({
											url:'dutyuser_delete',
											success:function(response){
												var result = Ext.util.JSON.decode(response.responseText);
												if(result.success==true){
													store.load({
														params:{
															departmentID:thenode.id
														}
													});
												}else{
													Ext.Msg.alert("提示","操作失败，请重试。") ;
												}
											},
											params:{userID:record.get("userID"),dutyID:record.get("dutyID")}
										});
				    				}
									
				    			}
				    			}); 

				    		
				    	}
					}/*,{
						text: "修改",
						handler:function() {
							var record=panel.getSelectionModel().getSelected();
			        		showWindown("user_update");
			        		userform.getForm().setValues({
			        			"user.operatorCode" : record.get("operatorCode"),
			        			"user.userName" : record.get("userName"),
			        			"user.userAccount": record.get("userAccount") ,
			        			"user.remarks": record.get("remarks") ,
			        			"user.userID": record.get("userID"),
			        			"user.profess.professID": record.get("professID"),
			        			"user.station.stationID": record.get("stationID"),
			        			"user.department.departmentID":thenode.id
			        		});
						}
						
					}*/,{
				    	text: '增加',disabled:true,id:'cAddBox',
				    	icon:'../image/public/user_add.gif',
				        handler:function(){
				        	Ext.getBody().mask();
				        	userStore.load({
								params:{
									departmentID:thenode.id
								}
							});
				        	dutyStore.load({
								params:{
									departmentID:thenode.id
								}
							});
				        	showWindown("dutyuser_add");
				        }
					}],
				    bbar:new Ext.PagingToolbar({
				    pageSize:3,  //每页显示几条
				    store:store,
				    displayInfo:true,
				    displayMsg:'显示{0}，到{1}条，一共{2}',  //固定写法
				    emptyMsg:'无此记录'
				  })
				 });
				
				function showWindown(urlString) {
					userform=new Ext.form.FormPanel({
					frame:true,
					height:250,
					buttonAlign:'top',
					layout:'form',
					items:[
					
					{
						xtype:'combo',
						fieldLabel: '员工',
		                hiddenName:'userID',
		                emptyText:'--请选择--',
		                forceSelection: true,
		                listWidth: 150,
		                store: userStore,
		                valueField:'userID',
		                displayField:'userName',
		                typeAhead: true,
		                mode: 'local',
		                triggerAction: 'all',
		                selectOnFocus:true,
		                allowBlank:false
					},{
						xtype:'combo',
						 fieldLabel: '值次',
			                hiddenName:'dutyID',
			                emptyText:'--请选择--',
			                forceSelection: true,
			                listWidth: 150,
			                store: dutyStore,
			                valueField:'dutyID',
			                displayField:'dutyName',
			                typeAhead: true,
			                mode: 'local',
			                triggerAction: 'all',
			                selectOnFocus:true,
			                allowBlank:false
					}],
					buttons:[{
						text: "确认",
					       handler:function(){ 
					    	   if ( userform.getForm().isValid() ){
					    	    userform.form.submit({   
					        	waitMsg : '正在提交数据....',   
					            url:urlString,   
					            method:'post', 
						            success:function(userform,action){  
						            	
						            	var result = Ext.util.JSON.decode(action.response.responseText);
						            	if(result.success==true) {
						            		if(urlString=="dutyuser_add"){
						            			win.close();
						            			store.load({
													params:{
														departmentID:thenode.id
													}
												});
						            			Ext.getBody().unmask();
						            		}/*else if(urlString=="user_modify"){
						            			win.close() ;
						            			store.load({
													params:{
														departmentID:thenode.id
													}
												});
						            		}*/
						            		
						            	}else{
						            		Ext.Msg.alert("提示","操作失败，请重试。") ;
						            	}
						            }
						          }); 
						       }
						       }
				     },{
				        text: "取消",
				        handler:function(){ 
				           	win.close() ;
				           	Ext.getBody().unmask();
				        }
				     }]
					});
					var win=new Ext.Window({
							title:'添加值班人员',
							 width:400,
							 height:300,
							 items:[userform],
							 xtype:'form',
							 listeners:{"beforedestroy":function(obj)
				                 { 
								 Ext.getBody().unmask();  
				                    // obj.show(); return false; 
				                  }
							}  
					});
					win.show();
				}
				
				 new Ext.Viewport({  
					layout : 'border', // 使用border布局  
					border:false,
					items:[{
						region:'west',
						border:false,
						width:200,
						items:[tree]
					},panel],
					listeners:{
						'beforerender' : function(cmp) {
							// set role
							var store=new Ext.data.JsonStore({
								url: '../system/role_loadFunc?funcCode=ControlDutyUser',
								autoLoad : true,
								fields: ["functioncode"]
							});
							store.load({
							    callback: function(records, options, success){
							    	var i=0;
							    	for(; i<records.length; i++) {
							    		var id = records[i].get("functioncode");
							    		//alert('d'+Ext.getCmp('56').text);
							    		if(Ext.getCmp(id)!=null) {
							    			Ext.getCmp(id).setDisabled(false);
							    		}
							        }
							    },
							    scope: store
							});
						}
					}
				 }); 
				 
				 var userStore = new Ext.data.JsonStore({
					 url:"dutyuser_getUsers",
					 autoLoad : false,
					 fields:["userOptName", "userName","userID"]
				 });
				 
				 var dutyStore = new Ext.data.JsonStore({
					 url:"dutyuser_getDutys",
					 autoLoad : false,
					 fields:["dutyName","dutyID"]
				 });
			});
			
			
	</script> 
</head>
<body>
<div id="tree" ></div>
<div id="grid"></div>
</body>
</html>